// 用户登录检查的混入
export default {
  methods: {
    /**
     * 检查用户是否已登录
     * @returns {Boolean} - 是否已登录
     */
    checkLogin() {
      try {
        const userInfo = uni.getStorageSync('userInfo');
        if (!userInfo || !userInfo.userId) {
          uni.showModal({
            title: '提示',
            content: '请先登录后再操作',
            success: (res) => {
              if (res.confirm) {
                // 保存当前页面路径，用于登录后返回
                const currentPage = getCurrentPages()[getCurrentPages().length - 1];
                const currentRoute = currentPage.route;
                const options = currentPage.options;
                
                let queryString = '';
                if (options) {
                  for (const key in options) {
                    queryString += `${queryString ? '&' : '?'}${key}=${options[key]}`;
                  }
                }
                
                uni.setStorageSync('redirectPage', {
                  path: `/${currentRoute}`,
                  query: options
                });
                
                // 跳转到登录页
                uni.navigateTo({
                  url: '/pages/login/login'
                });
              }
            }
          });
          return false;
        }
        return true;
      } catch (e) {
        console.error('检查登录状态失败:', e);
        return false;
      }
    },
    
    /**
     * 获取当前登录用户信息
     * @returns {Object|null} - 用户信息或null
     */
    getUserInfo() {
      const userInfo = uni.getStorageSync('userInfo')
      return userInfo || null
    },
    
    /**
     * 获取用户ID
     * @returns {Number|null} - 用户ID或null
     */
    getUserId() {
      try {
        const userInfo = uni.getStorageSync('userInfo');
        return userInfo ? (userInfo.userId || userInfo.id || null) : null;
      } catch (e) {
        console.error('获取用户ID失败:', e);
        return null;
      }
    }
  }
} 